﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MadLibrary.Managing.Persons
{
    /// <summary>Residence.</summary>
    public class Residence
    {
        /// <summary>Gets or sets the state.</summary>
        /// <value>The state.</value>
        public string State { get; set; }

        /// <summary>Gets or sets the city.</summary>
        /// <value>The city.</value>
        public string City { get; set; }

        /// <summary>Gets or sets the street.</summary>
        /// <value>The street.</value>
        public string Street { get; set; }

        /// <summary>Gets or sets the house number.</summary>
        /// <value>The house number.</value>
        public uint HouseNumber { get; set; }

        /// <summary>Initializes a new instance of the Residence class.</summary>
        public Residence()
        {
            this.State = "";
            this.City = "";
            this.Street = "";
            this.HouseNumber = 1;
        }

        /// <summary>Initializes a new instance of the Residence class.</summary>
        /// <param name="State">The state.</param>
        public Residence(string State)
        {
            this.State = State;
            this.City = "";
            this.Street = "";
            this.HouseNumber = 1;
        }

        /// <summary>Initializes a new instance of the Residence class.</summary>
        /// <param name="State">The state.</param>
        /// <param name="City">The city.</param>
        public Residence(string State, string City)
        {
            this.State = State;
            this.City = City;
            this.Street = "";
            this.HouseNumber = 1;
        }

        /// <summary>Initializes a new instance of the Residence class.</summary>
        /// <param name="State">The state.</param>
        /// <param name="City">The city.</param>
        /// <param name="Street">The street.</param>
        /// <param name="HouseNumber">The house number.</param>
        public Residence(string State, string City, string Street, uint HouseNumber)
        {
            this.State = State;
            this.City = City;
            this.Street = Street;
            this.HouseNumber = HouseNumber;
        }

        /// <summary>Convert this object into a string representation.</summary>
        /// <returns>This object as a string.</returns>
        public override string ToString()
        {
            return this.State + ", " + this.City + ", " + this.Street + " " + this.HouseNumber.ToString();
        }
    }
}